estoy usando reaccionar v18.1.0
Estoy tratando de cargar datos de usuarios de la API de marcador de posición de Json. Después de cargar los datos, los configuro en un estado llamado 'usuarios'. Después de console.log (usuarios), muestra una matriz de 10 objetos. Está bien.
Pero después de 3/4 milisegundos muestra [objeto objeto], [objeto objeto], [objeto objeto].
¿Por qué sucede? ¿Alguien puede describirlo, por favor? Aquí está la captura de pantalla
import React, { useEffect, useState } from 'react'; const Users = () => { const [users, setUsers] = useState([]); useEffect(() => { fetch('https://jsonplaceholder.typicode.com/users') .then(res => res.json()) .then(data => setUsers(data)) }, []) console.log(users); return ( <div> <h1>{users.length}</h1> </div> ); }; export default Users;
Eso sucede porque console.log (usuarios) se ejecuta cada vez que el componente se vuelve a procesar.
Tienes que envolverlo dentro useEffect hook
useEffect(() => { console.log(users) },[users]);
esto hará que el registro de la consola se ejecute cada vez que cambie el estado de los usuarios.